import { headers } from "next/headers"; import { requireUser, jsonError, HttpError } from "@/lib/auth/guard"; import { clientIp } from "@/lib/auth/session"; import { getToolRecord, saveToolRecord } from "@/lib/admin/tools"; type P = { params: Promise<{ id: string }> }; export async function GET(_: Request, { params }: P) { try { await requireUser(); const r = await getToolRecord((await params).id); if (!r) throw new HttpError(404, "Not found"); return Response.json(r); } catch (e) { return jsonError(e); } } export async function PUT(req: Request, { params }: P) { try { const s = await requireUser(req); const { id } = await params; const existing = await getToolRecord(id); if (!existing) throw new HttpError(404, "Not found"); await saveToolRecord(await req.json(), s, clientIp(await headers()), existing.id); return Response.json({ ok: true, id: existing.id }); } catch (e) { return jsonError(e); } }